Recognition Process Of An Object In A Query Image

ABSTRACT

A computer implemented recognition process of an object in a query image provides a set of training images, each training image being defined by a plurality of pixels and comprising an object tag; determines for each training image of the set a plurality of first descriptors, each first descriptor being a vector that represents pixel properties in a corresponding subregion of the associated training image; and selects among the first descriptors a group of exemplar descriptors describing the set of training images, wherein selecting the exemplar descriptors includes determining the first descriptors having a number of repetitions in the set of training images higher than a certain value.

TECHNICAL FIELD OF THE INVENTION

The present invention refers to the field of the object recognition in an image and particularly in images like photos or broadcast videos that comprise one or more objects or frames with commercial information, including e.g. a logo, a brand, a product, a landmark or other commercial features. Preferably, the objects are in two-dimensions.

PRIOR ART

In the field of the object recognition, the recognition of a tag corresponding to a two-dimensions object, as logos, products or landmarks, which exhibit small intra-class variations requires a specific approach.

For detecting an object in an image, it is known to use identifying scale invariant features transformation (SIFT). Typical techniques provide to represent an image as a set of subregions of the image and to use parametric classifiers or local descriptors that capture the appearance of each subregion to define a descriptor space. The set comprises image subregions that are selected in order to cover the whole image using interest point detectors, e.g., Sift vectors, or sampled densely. The space distance of parametric classifiers in the descriptor space reflects visual similarity between the image subregions of the set.

The bag-of-words (BoW) image representation is a technique that requires to partition the descriptor space of the image by a quantizer (e.g. k-means) learned from a subset of local descriptors. By using visual dictionary, local descriptors are coded and in particular matched to a visual word index, i.e. the quantization cell they belong to.

In the BoW technique, subregions are compared via their index and they are deemed similar when they are assigned to the same visual word.

Another technique known as Fisher Vector, that makes reference to a coarser vocabulary, as a dictionary, identifies more than an index per cell in order to extend the encoding and have more information per cell.

In all these techniques, the results are led out by classification and retrieval.

Such techniques advantageous under various aspects present some drawbacks. In fact, the parametric classifiers scale up with the number of classes and, in the same time, the geometric information require geometric layout verification that are computationally expensive.

A known solution provides to create a vector representation by aggregating all the image subregions codes of one image. In this way, according to the BoW technique, a histogram is obtained of the indices assigned to the sampled image subregions included into the set. Thus, an image is embedded in a vector space which allows to evaluate the similarity between images by computing a function such as the cosine similarity.

It is to be observed that the aggregated representations are used for image classifications by learning a parametric model of a class in applications that use, for instance, a support vector machine (SVM).

Another solution, that provides a collection of subregions, is known as inverted lists. In this case, the descriptor codes do not collapse and allow a more precise matching. The solution is used for application as instance-based image retrieval.

These solutions allow to obtain good classification performances starting to the BoW technique but without quantizing descriptors and using an image-to-class distance instead of image-to-image distance, induce class imbalance and not efficiency in computational time and space.

What would be desirable therefore is a process which is operable to detect the presence or the absence of object in a two-dimensions image wherein the object is taken from virtually any direction, and under varying lighting conditions. The proposed process being simple and efficient with respect to the techniques of the prior art.

SUMMARY OF THE INVENTION

Accordingly the present invention addresses the above need by providing a recognition process of an object in a query image as defined by the independent claims. The preferred embodiments of the process are defined in the dependent claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Other characteristics and advantages of the invention will be understood from the following description of a preferred embodiment provided in an illustrative way with reference to the attached drawings, wherein:

FIG. 1 shows a schematic flow diagram of an embodiment of a process according to the present invention;

FIG. 2 shows schematically a logo transformation;

FIG. 3 shows an embodiment of the process according to the flow diagram of FIG. 1;

FIG. 4 shows an example of segmenting of a n-dimensions vector, according to the present invention;

FIG. 5 shows a schematic flow diagram of the process according to the present invention;

FIG. 6 shows a schematic flow diagram of a testing step performed in the process according to an embodiment of the present invention;

FIGS. 7-10 show reference diagram of a method for selecting the descriptors according to the present invention;

FIG. 11 shows a schematic flow diagram of a verification step for a candidate object glimpse performed in the process according to an embodiment of the present invention.

DETAILED DESCRIPTION

Figures schematically show the steps of a process 1 for an automatic recognition of an object An in a query image 2 by an apparatus, which is not represented. The object An is a two-dimensions image which exhibits small intra-class variations such as, for example, a logo, a brand, a representation of products having particular features.

According to a non-limiting specific application, the process can be used for measuring brand exposure (logos), linking digital information to logos, ensuring shelf compliance in the retail industry (product) or tagging user's photos (landmarks).

The embodiment here below described refers to an automatic recognition of a logo by the apparatus, in a non-limiting specific example.

The process 1 performs a training step 6, wherein the apparatus is trained to automatically learn an object tag LOGOi that is comprised in a set of training images Ti. In particular, the object tag LOGOi is an original logo or an object that is transformed by applying one or more filters to the object tag LOGOi, as will be better described later.

Moreover, the process performs a query step 7, wherein the apparatus receives the query image 2 and automatically recognizes the object An that is included.

The training images Ti of the set as well as the query image 2 comprises a plurality of pixels.

According to FIGS. 1-3, the training step 6 comprises providing (20) the set of training image Ti, each training image Ti comprising the object tag LOGOi. The training image Ti is learned by determining (21) a plurality of first descriptors 11.

Each first descriptor 11 is a n-dimensions vector V that represents pixels properties in a subregion Sri of the training image Ti, as schematically shown in FIG. 3.

For producing the plurality of first descriptors 11 the training image Ti is subdivided into a number of subregions Sri of pixels groups, where each pixel into each subregion Sri has similar or homogeneous data attributes to one another. According to one embodiment, the first descriptors 11 are selected either using interest point detectors or samples sampled densely to cover the whole training image Ti. Each subregion is then identified by a local descriptor that captures the appearance of the subregion, for example by comprising a distribution of pixels in the subregion.

Referring to the embodiment shown in FIG. 3, the subregions Sri are circle areas of pixels that are identified by a centre Cri and a respective radius Rri and wherein the first descriptors 11 are represented by SIFT vectors (Scale Invariant Features Transformation).

The training step 6 further comprises:

-   -   determining (23) a group of exemplar descriptors 111 describing         the set of training images Ti and resulting from a selection of         the first descriptors 11 based on the position of said         subregions Sri in the associated training image Ti of the set         and on the pixel properties of the first descriptors 11.

In particular, the group of exemplar descriptors 111 provides preferential discrimination of said set of training image Ti.

According to one embodiment, the exemplar descriptors 111 are selected by applying a method that will be described here below.

The process 1 performs a query step 7 comprising:

-   -   receiving (30) the query image 2 and defining (31) a plurality         of second descriptors 3 that describe the query image 2.

Each second descriptor 3 of said plurality is a n-dimensions vector V′, that is defined, accordingly to said first descriptor 11.

Thus, the query step 7 further comprises:

-   -   determining (35) a visual similarity coefficient based on the         difference in appearance between each second descriptor 3 of         said query image 2 and each one of exemplar descriptors 111 of         the group. The visual similarity coefficient is determined based         on a comparison of each second descriptor 3 with each one of         said exemplar descriptors 111 of said group in order to         automatically recognize the object An in the query image 2 as         the object tag LOGOi coupled to one of said exemplar descriptor         111 of the group.

In one embodiment of the process (1), the training step 6 further comprises:

-   -   segmenting (25) the n-dimensions vector V of each exemplar         descriptor 111 of said group in predefined L-first subvectors         t1, . . . , tL;         and the query step (7) further comprises:     -   segmenting (32) the n-dimensions vector V′ of each one of said         second descriptor 3 in predefined L-portions in order to define         respective L-second subvectors t′1, . . . , t′L.

Thus, the visual similarity coefficient between each second descriptor 3 and each one of exemplar descriptors 111 of said group results from a simultaneous comparison of each second subvector t′1, . . . , t′L with each one of said first subvectors t1, . . . , tL.

According to an embodiment, the visual similarity coefficient between the second descriptors 3 and the exemplar descriptor 111 is measured as Euclidean distance of the vectors V and V′. Thus, during the training step 6, the segmenting (25) of each exemplar descriptor 11 of said group further comprises:

-   -   quantizing (26) separately each one of said L-first subvectors         t1, . . . , tL of each vector V in order to generate for each         exemplar descriptor 111 a number L of re-lookup tables (P1(t1),         . . . , PL(tL)). This means that each one of the L-first         subvectors t1, . . . , tL of J-dimension, is associated to one         of 2J possible different centroids.

Advantageously, due to the segmenting (25) of the exemplar descriptors 111 in L-portions and by the segmenting (32) of the second descriptors 3 in L-portions allows to compare, by comparing step (35), the L-portions by means of an access to the look-up tables P1(t1), . . . , PL(tL) instead of computing the distance between each dimension explicitly, thus reducing the time consumption.

According to an example, if J is 8, the quantized vector is Bi=pi(ti), the re-lookup table d1, . . . dL generated and associated to one of the L-first subvectors t1, . . . , tL, has sizes (28×28) and contains a number of 65536 pre-computed distances.

Having the quantizing (26) of the L-first subvectors t1, . . . , tL, the visual similarity i.e. the Euclidean distance, between each one of second descriptors 3 and each of the exemplar descriptors 111 of said group, is determined by accessing at the L re-lookup tables in order to identify the second descriptor 3 that correspond with highest precision to at least one of the selected first descriptors 111 stored in the exemplar library 8.

It is noting that the pre-compute re-lookup tables P1(t1), . . . , PL(tL) which have been defined during the training step 6, already contain the distance between the L-first subvectors t1, . . . , tL of the exemplar descriptors 111 and all possible subvectors. Thus, the Euclidean distance between one of the second descriptor 3 and each one of the exemplar descriptors 111 is calculated by means of L-addition operations, one for each portion of the second descriptor 3. For example, as indicated in FIG. 4, considering:

-   -   a vector V having a dimension of c=128, belongs to a space RC         having the respective subvectors t1, . . . , tL, wherein each         subvector has dimension of (128/L);     -   each subvector t1, . . . , tL is quantized according to         p1(t1)=b1, . . . , pL(tL)=bL, consequently each quantized         subvector bj for j=1 . . . L is associated to an entry in the         re-lookup table dj for j=1 . . . L;     -   the set of L re-look-up tables is d1, . . . , dL.

Being [b₁ ϵ {1 . . . 2^(j)}, . . . , b₁ ϵ {1 . . . 2^(j)}] and having two vectors V₁ and V₂:

V₁ ϵ R^(C) of {b₁ . . . b₁}

V₂ ϵ R^(C) of {b₁ . . . b₁}

the Euclidean distance between the two vectors is obtained by:

${d\left( {v_{1},v_{2}} \right)} = {\sum\limits_{j = {\{{1\mspace{14mu} \ldots \mspace{14mu} l})}}{d_{j}\left( {{p_{j}\left( t_{j}^{v_{1}} \right)},{p_{j}\left( t_{j}^{v_{2}} \right)}} \right)}}$

In this way, the determining step (35) is defined accessing the L re-lookup tables of the exemplar descriptors 111 and by comparing simultaneously each L-portions of the second descriptor 3 in order to define the respective distance.

The determining step (35) of the query step 7 provides to determine, for each one of second descriptors 3, a list comprising exemplar descriptors 111 that are arranged for progressive distance.

So, the visual similarity coefficient is performed by considering the exemplar descriptors 111 in said list.

The query step 7 further provides:

-   -   determining matched descriptors 111′ by selecting from said list         the exemplar descriptors 111 having said distance in visual         appearance lower than a predefined first threshold;     -   recognizing said object An in the query image 2 as the object         tag LOGOi of the determined matched descriptors 111′.

According to one embodiment, when the visual similarity coefficient is the distance between the second descriptor 3 of the subregions Sri with respect to a defined point in the coupled training image Ti, the matched descriptors 111′ are determined by considering the exemplar descriptors 111 having minimum distance or a distance ranks above to a predefined first threshold.

It is worth noting that the value of the predefined first threshold, that defines the similarity index between the second descriptors 3 and the exemplar descriptors 111, is fixed according to the requested accuracy of the process 1.

According to one embodiment, the training step 6 further comprises:

-   -   storing (22) the plurality of first descriptors 11 of each         training image Ti of the set in a register 5, and     -   storing (24) in an exemplars library 8 the determined exemplar         descriptors 111.

Thus, the elaborating step (38) comprises:

-   -   extracting from the exemplars Library 8 the object tag LOGOi         comprised in the logo-code 12 coupled to the matched descriptors         111′;     -   recognizing the object An as the extracted object tag LOGOi of         the matched descriptor 111′.

In other words, the process 1 recognizes the object An by considering the logo-code 12 coupled to the exemplar descriptors 111 that correspond with highest precision to the second descriptors 3 of the query image 2. Referring to FIG. 2, in an embodiment of the process 1, the training step 6 further comprises:

-   -   filtering (step 28) by a first transformation law the object tag         LOGOi by generating a set B of reference object B1 . . . Bq;     -   coupling the sets B of reference objects B1 . . . Bq with at         least one of a training image Ti in order to provide (20) said         set of training images Ti.

In particular, the first transformation law comprises one or a combination of operations selected from the group of: perspective, scaling, illumination, Gaussian blur, motion blur, compression artifacts.

Moreover, instead of a single object tag LOGOi, a plurality of object tags LOGOi i=1 . . . m can be provided, wherein each object tag LOGOi or original logo is different from one to another. Thus, by applying the first transformation law to each one of said object tags LOGOi a plurality of sets Bi i=1 . . . m of reference objects Bi1 . . . Biq is generated.

In this way, given the plurality of object tag LOGOi i=1 . . . m and chosen random parameters for the combination of the first transformation law, practically an unlimited number of training examples is obtainable.

Referring to FIG. 5, the providing (20) a training image Ti of the training step 6 further comprises:

-   -   providing (40) a set of object tags LOGOi;     -   providing (42) a plurality of background images I1, . . . , Ix;     -   merging (48) the object tags LOGOi of the set with the plurality         of background images I1, . . . , Ix.

Advantageously, the plurality of background images I1, . . . , Ix comprises:

-   -   receiving real images from an user or/and     -   downloading artificial images like website images by an         interconnected computer network or/and     -   providing uniform images having uniform color backgrounds.

Thus, when it provides the group of sets Bi i=1 . . . m of objects tag Bi1 . . . Biq, the merging step (48) determines a group of sets Ti i=1 . . . m of training images Ti1 . . . Tiq by operating an enhancement of the performance of the process 1. In fact, an unlimited amount of training samples enhances the capacity to the training images Ti1 . . . Tiq to reflect the real data.

Moreover, it is worth noting that when the set of training image T1 . . . Tq is referred to a single object tag LOGOi, the process 1 allows to detect relatively small objects.

With now reference to FIG. 6, a testing step 9 is performed to determine false positives in respect to the object tag An recognized by the query step 7.

In this case, the storing step 24 of the training step 6 further comprises:

-   -   associating to each exemplar descriptor 111 of said group stored         in the exemplars library 8:     -   a geometric reference 13 that is representative of a geometric         mapping of exemplar descriptor 111 with respect to the object         tag LOGOi in the training image Ti of the exemplar descriptor         111;     -   a logo-code 12 that comprises the object tag LOGOi of the         training image Ti.

According to an embodiment, the geometric reference 13 defines a location attribute of a polygon 15 which encloses the object tag LOGOi in the training image Ti. The polygon 15 being represented from a number p of parameters. In the case that the subregions Sri of the exemplar descriptors 111 are circle areas of pixels, the p-parameters of the geometric reference 13 can comprise:

-   -   a) the relative distance between a mark point into the enclosing         polygon 15 and the centre Cri of the subregion Sri, and     -   b) the ratio between the area of the subregion Sri and the area         of the enclosing polygon 15.

Other geometric references 13 can be used including a number of p parameters defining enclosing regions different than polygons 15, e.g. circles, around the corresponding exemplar descriptors 111 that are capable of enclosing the object tag LOGOi of the training images Ti.

The testing step 9 comprises:

-   -   selecting (step 50) in the exemplars library 8 the p-parameters         of the geometric reference 13 associated to the polygon 15 of         the matched descriptors 111′;     -   generating (step 52) a p-dimensional Vector Space, wherein each         vector that represents one of the p-parameters of the geometric         reference 13 is discretized into a pre-defined range;     -   quantizing (step 54) the p-dimensional Vector Space by defining         a quantized Space.

Moreover, the testing step 9 comprises determining (step 56) a list of positive matched descriptors 111′ resulting from a geometric voting procedure wherein each one of the second descriptor 3 casts a vote for every p-parameter in the quantized Space according to its geometric reference values. The geometric voting procedure stops when all the second descriptors 3 of the query image 2 have cast their vote. Preferably, the identified positive matched descriptors 111′ correspond to matched descriptors 111 having a vote value of the p-parameters in the quantized Space that is higher with respect to a predefined threshold N_(th).

In practice, the geometric voting procedure identifies a region in the query image 2 having a concentration of second descriptors 3, high enough to consider the corresponding matched exemplar descriptors 111′ as positive exemplar descriptors 111′. Indeed, it can be appreciated that having a high-density concentration of descriptors 3 matching exemplar descriptors 111′ in a zone of the query image 2 it is indicative of a plausible presence in that zone of the Object An to be recognized, while zones with only one or a sparse number of second descriptors 3 matching exemplar descriptors 111′ plausibly contain a different object (having one or more limited portions similar to portions of the Object An to be recognized).

According to an embodiment in method step 56, the geometric voting procedure is performed by using the geometric references 13 associated with the matched exemplar descriptors 111′ to map the polygons 15 over the corresponding matching second exemplar descriptors 3 in the query image. Then, each second descriptor 3 within a polygon 15 assigns a vote to the matched exemplar descriptor 111′ associated within such polygon 15.

With reference to FIG. 3, four second descriptors 3 are illustrated for exemplary purposes in the query image 2, matching corresponding exemplar descriptors 111′. A group of three of these descriptors 3 (on the left-side of FIG. 3) actually covers the Object An to be recognized, while the other remaining descriptor 3 (on the right-side of FIG. 3) covers a portion of a different object similar to a portion of the object An under recognition.

The latter descriptor 3 is far away from the other three descriptors 3, that are instead close to each other reflecting the spatial configuration of the object An. As such, the polygon 15 around the isolated descriptor 3 does not contain other descriptors 3 from which votes can be cast. Instead, a polygon 15 around one of the close three descriptors 3 includes and captures the votes of the other two descriptors 3. As a result, the close three descriptors 3 can cast a vote for the corresponding matched exemplar descriptors 111′ above the threshold Nth, while the matched descriptor 111′ corresponding to the isolated descriptor 3 is recognized as a false match for the object An under recognition.

For example, when the polygon 15 is an oriented rectangle with respect to an oriented system XoY, the geometric reference 13 can define 5-parameters:

-   -   x and y: the coordinates of the top left corner;     -   w and h: the width and the height;     -   a: the rotation angle with respect to the XoY.

In this embodiment, steps 52 and 54 effect a generation of a 5-dimensional quantized Vector Space.

Having the query image 2 of (50×50) pixels, then:

-   -   x′=y′=[0, 10, 20, 30, 40, 50];     -   w′=h′=[10, 20, 30, 40, 50];     -   a′=[0, π/4, π/2, (3/4)π, π, (5/4)π, (3/2)π, (7/4)π, 2π].

The size of the quantized Space is:

(|x′|*|y′|*|w′|*|h′|*|a′|).

With reference to FIG. 3, having identified a matched exemplar descriptor 111′ in the training image Ti′, the corresponding matching second descriptor 3 is projected in the query image 2 with the enclosing polygon 15.

The enclosing polygon 15 has the following 5-parameters:

-   -   x=2, y=23, w=25, h=10, a=π/8

Thus, in the above identified quantized Space, the enclosing polygon 15 cast one vote at coordinates:

-   -   X′=1, y′=3, w′=2, h′=1, a′=1

The geometric voting procedure is executed for every second descriptor 3 in the query image 2 and the quantized Space is filled with the respective votes.

After the voting procedure is concluded, the matched exemplar descriptors 111′ that casts a total vote from the descriptors 3 greater than the threshold N_(th) are selected as positive matched exemplar descriptors 111′.

In an embodiment, after the positive matched exemplar descriptors 111′ have been determined, the testing step 9 can proceed directly by:

-   -   extracting from the exemplars library 8 the object tag LOGOx         within the logo-code 12 associated with at least one of the         positive matched exemplar descriptors 111′; and     -   comparing the extracted object tag LOGOx with the object An as         recognized at step 38 of the query step 7.

In this way, if the recognized object tag LOGOi obtained by the elaborating step 38 does not correspond to the extracted object tag LOGOx, it is recognized to be a false positive.

In query images, parts of the object An to be recognized can be occluded or invisible. For example, considering the logo “Your-Logo” illustrated in FIG. 3 as the object An to be recognized, if such logo is printed on a can it might appear in a query image 2 as just “Your” because the curvature of the can is hiding the rest of the logo.

Nonetheless, the logo can still be correctly recognized if the visible part is sufficiently discriminative. We herein define a glimpse as a partial view of the object An, as captured by an imaging device or rendered from a synthetic model that is distinctive enough to recognize the object An itself. For example, a glimpse can be the shape of car headlights that allows its make to be recognized, or a partial view of a logo that allows the full logo to be recognized.

As such, a glimpse will exhibit a recognizable pattern when its identified matched exemplar descriptors 111′ cast their votes in the quantized space Vector Space at the execution of method step 56. In particular, because only a sub-region of the object An is visible, the votes will appear consistently above the threshold N_(th) for the matched descriptors 111′ corresponding to the visible portion of the object An and below the threshold N_(th) for the matched descriptors 111′ corresponding to the part of object An which is occluded or not visible.

Based on this, the testing step 9 can be improved to identify candidate glimpses within the query image 2.

In particular, with reference now back to FIG. 6, after execution of step 56 the improved test 9 continues by computing a coverage index (step 58) for the positive matched exemplar descriptors 111′. Preferably, the coverage index is indicative of the percentage of area of the object An to be recognized which is covered by the positive matched descriptors 111′ identified at step 56.

For example, the coverage index can be based on the centers Cri and radii Rri of the subregions Sri of the positive matched descriptors 111′. A coverage area Srg can be determined as corresponding to the largest contiguous set of subregions Sri of the positive matched descriptors 111′, where subregions Sri are considered to be contiguous when having at least one intersection. The coverage index can then be computed as the coverage area of Srg divided by the area of the polygon 15 which encloses the object tag LOGOi in the training image Ti.

In response to determining that the coverage index is below a first threshold Th1, testing step 9 comprises identifying the positive matched exemplar descriptors 111′ as false positive matched exemplar descriptors 111′ (step 60).

In response to determining that the coverage index is above a second threshold Th2 greater than Tth1, testing step 9 comprises confirming the positive matched exemplar descriptors 111′ and verifying recognition of a presence of the complete, or almost complete, object An within the query image 2 (step 62). In particular, the recognition is verified if the object tag LOGOx within the logo-code 12 associated with at least one of the positive matched exemplar descriptors 111′ corresponds to the object recognized within the query image 2 at step 38 of the query step 7.

The positive matched exemplar descriptor 111′ selected for extracting the object tag LOGOx can be the one that obtained the highest vote score at step 56, or a group of positive matched exemplar descriptors 111′ can be selected having a vote score higher than a threshold greater than N_(th).

In response to determining that the coverage index is between the thresholds Th1 and Th2, testing step 9 comprises identifying that the query image 2 contains a candidate glimpse of the object An to be recognized (step 64). For example, thresholds Th1 and Th2 can correspond to an area coverage percentage of 50% and 75%, respectively, in order to identify glimpses that represent between 50% and 75% of the object An to be recognized.

Identified candidate glimpses might be retained or discarded. For example, a glimpse like “Yo” in “YourLogo” might not be considered discriminative enough or its glimpse might be found on other objects different than “YourLogo”.

With reference to FIG. 11, there is illustrated a step 700 for verifying identified candidate glimpses. This verification step 700 is based on indexing and reviewing how frequently different candidate glimpses appear in different query images 2.

In particular, in response to identifying that a query image 2 contains a candidate glimpse of the object An at step 64, the verification step 700 comprises computing a signature indicative of a specific spatial configuration of the matched exemplar descriptors 111′ corresponding to the identified candidate glimpse (step 701).

Then, verification step 700 comprises verifying whether same signatures have been computed for candidate glimpses identified through the execution of steps 50-64 for previously analysed query images 2, and updating a counting of the number of times that the same signature has been computed (step 702).

Preferably, the calculated signature is indicative of the spatial configuration arrangement of the coverage area Srg defined by contiguous subregions Sri of the matched exemplar descriptors 111′ corresponding to the candidate glimpse. For example, the signature can be obtained by means of a hash function returning identical values given two coverage areas Srg whose spatial arrangement covers roughly the same area of the object An to be recognized.

In response to the updated counted number exceeding a threshold, verification step 700 proceeds by confirming that the candidate glimpse is a glimpse of the object (step 703).

In practice, when an equivalent configuration spatial arrangement associated with a glimpse is found in a new query image 2, its signature will be identical to signatures associated with a same or very similar glimpse occurring in previous query images 2. This allows for a determination of how frequently a candidate glimpse occurs in a sequence of query images 2 to be made, in order to establish whether a glimpse is false or if it can be confirmed as a positive detected glimpse of the object An to be recognized.

Step 700 further comprises verifying an object recognition if the object tag LOGOx associated with at least one of the positive matched exemplar descriptors 111′ associated with the glimpse matches the object recognized at query step 7 (step 704).

The training set of images Ti can be improved with added training images containing an object tag LOGOi corresponding to the glimpse identified at step 703 (step 705). As such, the system is trained to recognize the presence of the identified glimpse of the object An in query images 2.

Method for Selecting the Exemplar Descriptors

According to the present invention, the exemplar descriptors 111 are selected by the following method.

Considering the set T of training images Ti of C classes, the training image Ti associated to class label yi is represented by its set of local features

X_(i)={x_(i) ¹ . . . x_(i) ^(Ni)}

where Ni denotes the number of first descriptors 11 that have been extracted.

Given a class y, its positive set is obtained by taking the first descriptors 11 from the associated training images X_(y)=U_(yi)=_(y)X_(i) while the first descriptor 11 from the other training images Ti of the set form the negative set of the class y.

The method for selecting does not require any bounding box around the object of the image, thus, the neighborhood of the object comprises a high proportion of descriptors coming from different positive images, while the descriptors of the negative set are far away. In order to quantify this property it is proposed the calculation of a relationship between the descriptors, according to the average of the descriptor precisions over positions where descriptors from positive images appear for the first time.

In a general form, the method for selecting of the exemplar descriptors 11 in the training step 6 by having the set T of training image Ti comprises:

-   -   providing a feature of the object tag LOGOi;     -   defining distances dj representatives of said feature with         respect to a predefined point for each training image Ti of said         set T;     -   selecting said training images Ti having the distances dj that         are lower with respect to a predefined first value by defining a         group or a class of training images Ti;     -   defining class indicator indexes I(k);J(r) representative of the         group of the training image Ti;     -   generating a quantifying index srAP for each first descriptor 11         elaborating said class indicator indexes, I(k) and J(r), and the         number of said training images Ti comprised in said group;     -   selecting as exemplar descriptor 111 the first descriptors 11         having the quantifying index srAP that is higher than a         predefined first index tpAP.

In particular, according to an embodiment, the computing to a given feature xi1 of the training image Ti on said set T, provides:

-   -   a) defining the distance dj of the given feature x_(i) ¹ in the         training image Tj with respect to a predefined point, wherein         j≠i and the distance is dj=min_(xϵXj)∥x-x_(i) ^(l)∥₂,     -   b) sorting the (M−1) training images Ti of said set T by         increasing distances: j1, . . . , jM−1     -   c) defining a first class indicator index as

I(k)=1 if y _(jl) =y _(i) and else 0,

-   -   d) defining a second class index as the cumulative sum of the         first class index in the set T of training image Ti,

J(r)=Σ_(k=1) ^(r) I(k)

-   -   e) quantifying the property of each descriptor as the         quantifying index:

${srAP} = {\frac{1}{M_{yi} - 1}{\sum\limits_{k = 1}^{M - 1}{\frac{1}{k}{I(k)}{{J(k)}.}}}}$

Thus, a first descriptor 11 is selected as exemplar descriptor 111 for a given feature if its property srAP is higher than predefined first index tpAP.

In order to avoid the computing of repetitive visual elements only one first descriptor 11 per each training image Ti is considered, thus the first descriptors 11 coming from the same training image Ti and characterized to be candidate to exemplar descriptors 111 are excluded from the computation. In this way, the exemplar descriptors 111 are both class-specific and representative of different positive training images Ti.

Referring to FIG. 7, the method further provides:

-   -   choosing each one of the exemplar descriptors 111 having its         quantifying index srAP that is higher than a predefined second         index tb;     -   determining a precision of the exemplar descriptors 111 based on         the position of the selected exemplar descriptors 111 in the         descriptor space.

In particular, the method provides to mark the descriptor space or feature space by a plurality of balls, each ball with its radius defining a given precision depending on the local density of the class. In particular, the radius of the ball is defined by comprising all the exemplar descriptors 111 having their quantifying index srAP of the property that is higher than a predefined second index tb.

In this way, each exemplar descriptor 111 is associated to its own set of radii depending to the precision.

It is note that, this is different from the prior art classifiers, i.e. NN classifiers based on distances that do not change when travelling across descriptor space.

The plurality of first value index tpAP and the plurality of the second index tb are parameters that are selected in order to define a best accuracy on the training data.

According to an embodiment, the precision of the feature space is defined by means of relationships between the positions of each exemplar descriptor 111 in the feature space, according to the position of the balls.

In particular, the method provides to:

-   -   determining which balls each exemplar descriptor falls by         comparing the distances to the exemplar descriptor with the         radii of the balls.

Moreover, the method provides to apply an identification law, which comprises:

-   -   selecting only the smallest determined ball for each exemplar         descriptor;     -   assigning the exemplar descriptor only to the ball having         highest precision and in the case wherein two or more balls have         the same precision, the contribution of the exemplar descriptor         is shared between them equally.

Thus, the method provides to:

-   -   determining a ball vote by multiplying the ball precision with         the associated exemplar descriptor 111 contributions;     -   defining the score for a training image Ti in a class by adding         the ball votes of all balls, each ball contribution to the score         of its class.

Referring to FIG. 8, it is defined by a training image Ti having two exemplar descriptors, a and b, both fall into two balls. According to the identified law, the exemplar descriptor a is assigned to the dark ball being the ball that has higher precision, having value 1, while the contribution of the exemplar descriptor b is divided between two balls having equal precision of value 0.9.

Advantageously, the method allows to reduce the number of descriptors during the training step 6 by maintaining in the same time a good definition.

In particular, by a product quantization scheme, only k closest points or k-neighborhood from the set T of training images Ti are used and re-rank them by computing the exact distances. Moreover, when the property srAP is computed for a given exemplar descriptor, if the selected k-neighborhood does not comprise any descriptor from the positive set, the feature is discarded. Also, the ball radii that correspond to the precision index values are computed in the same k-neighborhood.

According to an embodiment, the method provides to use the product quantization in order to compute the score for the second descriptor of the query image 2, wherein the exemplar descriptors 111 for all classes compose the exemplars library 8 or database. In this case, for each second descriptor 3 of the query image 2, the product quantization finds the k nearest exemplar descriptors 111 and the exact distances from these shortlisted exemplar descriptors are computed.

It is note that, the method allows to compute the scores for all classes at a constant time cost of querying product quantization and to compute a shortlisted distances. In this way, the addition of new labelled data, performed by adding classes or training images, amounts to adding the newly computed exemplar descriptors into the exemplars library 8.

Referring to FIG. 9, as verified by the Applicant, the ball precision or rather the proportion of the class exemplar descriptors inside the ball varies considerably for a given radius.

According to the method, balls having the same radius comprise different proportions of exemplar descriptors of the same class that are the descriptor whose degree of confidence is assumed to be captures by the ball precision.

Referring to FIG. 10, it is shown the influence of the predefined first index tpAP and of the predefined second index tb on the accuracy of the method. Better performance can be obtained with low predefined first index tpAP and high predefined second index tb, which correspond to more exemplar descriptors and fewer high precision balls per exemplar descriptor.

The proposed method computes the scores from the similarities between the query features and the class exemplar descriptors, which have been previously selected from all training images. Moreover, the exemplar descriptors are selected independently and are weighted equally allowing an improvement of classification performances. In this way, it is worth noting that the ability of selecting the first descriptors, according to the proposed method, allows obtaining a reliable prediction by reducing the computational analysis.

According to the present invention, the process above indicated for detecting an object in a query image, allows to achieve all prefixed purposes.

While specific embodiments of the inventions have been described and illustrated, such embodiments should be considered illustrative of the invention only and not as limiting the invention as construed in accordance with the accompanying claims. 

1. A computer implemented recognition process of an object in a query image, comprising: performing a training step that comprises: providing a set of training images, each training image being defined by a plurality of pixels and comprising an object tag; determining for each training image of said set a plurality of first descriptors, each first descriptor being a vector that represents pixel properties in a corresponding subregion of the associated training image; and selecting among the first descriptors a group of exemplar descriptors describing said set of training images, wherein selecting the exemplar descriptors comprises determining the first descriptors having a number of repetitions in the set of training images higher than a certain value; the method further comprises performing a query step, the query step comprising: receiving the query image and defining a plurality of second descriptors, the second descriptors being vectors describing pixel properties in corresponding subregions of the query image; determining visual similarity coefficients based on a comparison between each one of said second descriptors of the query image and each one of said exemplar descriptors; determining whether second descriptors of the query image match corresponding exemplar descriptors based on the determined visual similarity coefficients; and recognizing the object in the query image based on the determined matches.
 2. The process according to claim 1 wherein the training step further comprises: segmenting each exemplar descriptor of said group in predefined first subvectors; and the query step further comprises: segmenting each of said second descriptors by defining second subvectors; wherein said visual similarity coefficients results from a comparison of the second subvectors of each second descriptor with the first subvectors of each exemplar descriptor.
 3. The process according to claim 2, wherein segmenting each exemplar descriptor of said group further comprises: quantizing each one of said first subvectors and generating respective relookup tables; said visual similarity coefficients resulting by accessing to said re-lookup tables in order to detect the distances between the second descriptors and each one of said exemplar descriptors.
 4. The process according to claim 1, wherein the training step comprises generating the object tag by: providing an original object tag; and filtering by a first transformation law the original object tag.
 5. The process according to claim 1, wherein, for each one of said second descriptors, the query step comprises: determining a list where said exemplar descriptors are arranged for progressive visual similarity coefficient; determining the exemplar descriptor matched by corresponding second descriptors of the query image from a selection of the exemplar descriptors in said list based on said visual similarity coefficient; recognizing said object in said query image based on the selection of the exemplar descriptors in the list.
 6. The process according to claim 1, wherein the training step further comprises: storing said group of exemplar descriptor in an exemplars library by associating to each exemplar descriptor: a respective pixel property vector; a geometric reference including a number of p parameters defining an enclosing region around the exemplar descriptor that is capable of enclosing the object tag in the training image associated with the exemplar descriptor; and a logo-code that comprises the object tag in the training image associated with the exemplar descriptor.
 7. The process according to claim 6, further comprising performing a testing step, the testing step comprising: selecting in the exemplars library the geometric reference associated with the matched exemplar descriptors; generating a p-dimensional Vector Space, wherein each vector of the Vector Space represents one of the p-parameters of the geometric reference; determining a list of positive matched exemplar descriptors resulting from a geometric voting procedure for each second descriptor in said Vector Space, the geometric voting procedure identifying a region in the query image having a concentration of second descriptors high enough to consider the corresponding matched exemplar descriptors as positive exemplar descriptors; comparing the object tag associated with at least one of the positive matched exemplar descriptors in said list with said object recognized during the query step in order to verify the object recognition.
 8. The process according to claim 7, wherein the geometric voting procedure comprises: using the geometric references associated with the matched exemplar descriptors to map the associated enclosing regions over the corresponding matching second exemplar descriptors in the query image; each second descriptor within an enclosing region assigning a vote to the matched exemplar descriptor associated with said enclosing region; and including in the list of positive matched exemplar descriptors the matched exemplar descriptors that have received a total vote from the second descriptors above a threshold.
 9. The process according to claim 6, wherein said geometric reference is defined by a polygon represented by at least one of the following parameters: a coordinate of a top left corner point of the polygon with respect to an original point in said training image; a width, height and angle of said top left corner point with respect to said original point; a relative distance between a mark point into the polygon and a center of the subregion of the corresponding matched exemplar descriptor; and a ratio between the area of the subregion and the area of the polygon.
 10. The process according to claim 7, further comprising: determining a coverage index indicative of a percentage of the area of the object to be recognized in the query image which is covered by an area defined by the subregions of the positive matched exemplar descriptors; in response to determining that the coverage index is below a first threshold, identifying the positive matched exemplar descriptors as false positive matched exemplar descriptors; in response to determining that the coverage index is above a second threshold greater than the first threshold: confirming the positive matched exemplar descriptors; and verifying an object as being recognized if the object tag associated with at least one of the confirmed positive matched exemplar descriptors matches the object recognized during the query step; and in response to determining that the coverage index is between the first and second thresholds, identifying that the query image contains a candidate glimpse of the object.
 11. The process according to claim 10, wherein in response to identifying that the query image contains a candidate glimpse of the object the process further comprises: computing a signature indicative of a specific configuration of the positive matched exemplar descriptors corresponding to the candidate glimpse.
 12. The process according to claim 11, further comprising: determining whether signatures equal to said computed signature have been previously computed and updating a count of the number of times that said signature has been computed; in response to the updated counted number exceeding a threshold, confirming that the candidate glimpse is a glimpse of the object; and verifying an object as being recognized if the object tag associated with at least one of the positive matched exemplar descriptors associated with the glimpse matches the object recognized during the query step.
 13. The process according to claim 12, further comprising improving the set of training images by including further images containing an object tag corresponding to the identified glimpse.
 14. The process according to claim 1, wherein each one of said first descriptors and/or each one of said second descriptor are vectors that comprise a second transformation law respectively to a corresponding subregion of said training image and to a corresponding subregion of the query image, said second transformation law being a scale invariant features transformation.
 15. The process according to claim 1, wherein each subregion is a circle area of pixels and said first descriptors and/or said second descriptors comprise a distribution of pixels properties in said circle area.
 16. The process according to claim 1, wherein said selecting of the exemplar descriptors comprises: providing a feature of the object tag; determining in each training image of said set distances between each of said plurality of first descriptors and the provided feature; determining a class resulting from a selection of the first descriptors of said set of training images having associated thereto distances lower than a threshold; defining class indicator indexes representative of said first descriptors comprised in said class and of said set of training images; generating a quantifying index for each first descriptor of said class based on an elaboration of said class indicator indexes and on the number of said training images comprised in said class, said quantifying index being indicative of repetitions of the associated first descriptor in the set of training images; and selecting a first descriptor if the associated quantifying index is higher than a predefined first index.
 17. The process according to claim 16, wherein selecting said exemplar descriptors further comprises: choosing the selected exemplar descriptors having their quantifying index higher than a predefined second index; determining a precision of said chosen exemplar descriptors based on a position of the selected exemplar descriptors in a descriptor space.
 18. A computer implemented recognition process of an object in a query image, comprising: performing a training step that comprises: providing a set of training images, each training image being defined by a plurality of pixels and comprising an object tag; determining for each training image of said set a plurality of first descriptors, each first descriptor being a vector that represents pixel properties in a corresponding subregion of the associated training image; selecting among the first descriptors a group of exemplar descriptors describing said set of training images, wherein selecting the exemplar descriptors comprises determining the first descriptors having a number of repetitions in the set of training images higher than a certain value; storing said group of exemplar descriptor in an exemplars library by associating to each exemplar descriptor: a respective pixel property vector; a geometric reference including a number of p parameters defining an enclosing region around the exemplar descriptor that is capable of enclosing the object tag in the training image associated with the exemplar descriptor; and a logo-code that comprises the object tag in the training image associated with the exemplar descriptor; and the method further comprises performing a query step, the query step comprising: receiving the query image and defining a plurality of second descriptors, the second descriptors being vectors describing pixel properties in corresponding subregions of the query image; determining visual similarity coefficients based on a comparison between each one of said second descriptors of the query image and each one of said exemplar descriptors; determining whether second descriptors of the query image match corresponding exemplar descriptors based on the determined visual similarity coefficients; recognizing the object in the query image based on the determined matches; the method further comprises performing a testing step, the testing step comprising: selecting in the exemplars library the geometric reference associated with the matched exemplar descriptors; generating a p-dimensional Vector Space, wherein each vector of the Vector Space represents one of the p-parameters of the geometric reference; determining a list of positive matched exemplar descriptors resulting from a geometric voting procedure for each second descriptor in said Vector Space, the geometric voting procedure identifying a region in the query image having a concentration of second descriptors high enough to consider the corresponding matched exemplar descriptors as positive exemplar descriptors; and comparing the object tag associated with at least one of the positive matched exemplar descriptors in said list with said object recognized during the query step in order to verify the object recognition.
 19. The process according to claim 18, wherein providing a set of training images comprises merging a plurality of background images with the object tag, wherein the plurality of background images comprises real images received from a user or/and artificial images.
 20. A computer implemented recognition process of an object in a query image, comprising: performing a training step that comprises: providing a set of training images, each training image being defined by a plurality of pixels and comprising an object tag; determining for each training image of said set a plurality of first descriptors, each first descriptor being a vector that represents pixel properties in a corresponding subregion of the associated training image; selecting among the first descriptors a group of exemplar descriptors describing said set of training images, wherein selecting the exemplar descriptors comprises determining the first descriptors having a number of repetitions in the set of training images higher than a certain value; storing said group of exemplar descriptor in an exemplars library by associating to each exemplar descriptor: a respective pixel property vector; a geometric reference including a number of p parameters defining an enclosing region around the exemplar descriptor that is capable of enclosing the object tag in the training image associated with the exemplar descriptor; and a logo-code that comprises the object tag in the training image associated with the exemplar descriptor; and the method further comprises performing a query step, the query step comprising: receiving the query image and defining a plurality of second descriptors, the second descriptors being vectors describing pixel properties in corresponding subregions of the query image; determining visual similarity coefficients based on a comparison between each one of said second descriptors of the query image and each one of said exemplar descriptors; determining whether second descriptors of the query image match corresponding exemplar descriptors based on the determined visual similarity coefficients; recognizing the object in the query image based on the determined matches; and the method further comprises performing a testing step, the testing step comprising: selecting in the exemplars library the geometric reference associated with the matched exemplar descriptors; generating a p-dimensional Vector Space, wherein each vector of the Vector Space represents one of the p-parameters of the geometric reference; determining a list of positive matched exemplar descriptors resulting from a geometric voting procedure for each second descriptor in said Vector Space, the geometric voting procedure identifying a region in the query image having a concentration of second descriptors high enough to consider the corresponding matched exemplar descriptors as positive exemplar descriptors; determining a coverage index indicative of a percentage of the area of the object to be recognized in the query image which is covered by an area defined by the subregions of the positive matched exemplar descriptors, wherein: in response to determining that the coverage index is below a first threshold, identifying the positive matched exemplar descriptors as false positive matched exemplar descriptors; in response to determining that the coverage index is above a second threshold greater than the first threshold: confirming the positive matched exemplar descriptors; and verifying an object as being recognized if the object tag associated with at least one of the confirmed positive matched exemplar descriptors matches the object recognized during the query step; and in response to determining that the coverage index is between the first and second thresholds, identifying that the query image contains a candidate glimpse of the object. 